/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package appalquilerinmuebles;

import Expeciones.ExcepcionRegistroNoGrabado;
import java.util.ArrayList;

/**
 *
 * @author Edson
 */
public class controlUsuario {
    private ArrayList<Usuario> colUsuarios;

    
    public controlUsuario(){

    }
    //
    private ArrayList<Usuario> getColUsuarios(){
        if (colUsuarios==null){
            colUsuarios = new ArrayList<Usuario>();
        }
        return colUsuarios;
    }

    public void iniciaArreglo (){
        String [] tipousuario = {"Vendedor", "Cliente", "Administrador", "Cliente", "Vendedor"};
        for (int i=0; i<5; i++){
            String x = tipousuario[i];
            String a = String.valueOf(i);
            Usuario usuario = new Usuario("usuario"+a, "passPrueba", "usuario"+a+"@mail.com", "Juan"+a, x);
            getColUsuarios().add(usuario);
        }
    }

    public Usuario getUsuarioByLogin(String login){
        for (Usuario objUsuario : getColUsuarios()){
            if (objUsuario.getLogin().equals(login)){
                return objUsuario;
            }
        }
        return null;
    }
    public Usuario getUsuarioByEmail(String email){
        for (Usuario objUsuario : getColUsuarios()){
            if (objUsuario.getEmail().equals(email)){
                return objUsuario;
            }
        }
        return null;
    }
    /*
     *Registrar Usuario
     * emenendez
     */
    public void addUsuario(String login,String password, String email, String nombre, String tipo) throws ExcepcionRegistroNoGrabado {
        if(getUsuarioByLogin(login)!=null){
            throw new ExcepcionRegistroNoGrabado("El login ingresado ya existe");
        }
        if (getUsuarioByEmail(email)!=null){
            throw new ExcepcionRegistroNoGrabado("El email ingresado ya posee un usario asociado");
        }
        //Crear usuario y agregarlo a coleccion
        getColUsuarios().add(new Usuario(login,password, email, nombre, tipo));
        //jsjhjsdkf
    }
    /*
     * Validar Login
     * emnendez
     */
    public boolean iniciarSesion(String Login, String Pass){
        Usuario objUsuario = getUsuarioByLogin(Login);
        //
        if (objUsuario==null){
            return false;
        }
        //
        if (objUsuario.getLogin().equals(Login) && objUsuario.getPassword().equals(Pass)){
            return true;
        }else{
            return false;
        }
    }
    /*
     * Desactivar Usuario
     * emenendez
     */
    public void desactivarUsuario(String login) throws Exception {
        Usuario objUsuario = getUsuarioByLogin(login);
        if (objUsuario==null){
            throw new Exception("No se pudo encontrar el usuario especificado");
        }else{
            objUsuario.desactivarUsuario();
        }
    }
}
